<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
    
        var sum = 1 + 5;
        console.log(sum);//6
        var sum1 = '1' + 5;
        console.log(sum1);//'15'
        
        //相等操作符：比较的是值，如果值相同那么久相等
        //全等操作符：比较的是值和数据类型，如果值和类型都相等那么就相等

        var str = '这是字符串';
        var str1 = '这是字符串';
        console.log(str == str1);//true
        console.log(str === str1);//true

        var arr = [1,2,3];//arr里面存储的是 堆中的地址 0x123
        var arr2 = [1,2,3];//arr2里面存储的是 堆中的地址 0x456
        console.log(arr == arr2);//false
        console.log(arr === arr2);//false

        var obj = {
            name:'老王',
            age:16
        }
        var obj1 = obj;
        console.log(obj == obj1);//true

        obj1.age = 18;
        console.log(obj == obj1);//true

        var a;//undefined
        var b = null;//object
        console.log(a==b);//true
        console.log(a===b);//false
        
        // 在什么情况下 变量使用 null 或者是 undefined？？？
        // 变量只声明不赋值 就是 undefined;

        // null 空值需要进行赋值？？？
        // 当不在使用当前变量的时候 可以赋空值， 告诉系统该变量可以进行回收（可以销毁给该变量分配的内存空间）
    
    </script>
</body>
</html>